package com.atguigu.lease.web.admin.custom.converter;

import com.atguigu.lease.model.enums.ItemType;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;


/*
* TODO:转换器的实现
*   1.能不能用stream流编程实现,还是要学习一下如何使用stream流
* */

@Component
public class StringToItemTypeConverter implements Converter<String, ItemType> {
    @Override
    public ItemType convert(String code) {
        // ItemType.values();返回枚举类中的所有枚举实例
        // 使用反射也可以获得枚举类中的所有枚举实例 ItemType.class.getEnumConstants();
        for (ItemType itemType : ItemType.values()) {
            if (itemType.getCode().equals(Integer.valueOf(code))){
                return itemType;
            }
        }

        throw new IllegalArgumentException("code:   "+code+"    非法");
    }
}
